import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
import _createClass from "@babel/runtime/helpers/esm/createClass";
import _inherits from "@babel/runtime/helpers/esm/inherits";
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
import _applyDecoratedDescriptor from "@babel/runtime/helpers/esm/applyDecoratedDescriptor";
import _isNil from "lodash/isNil";
import _isEmpty from "lodash/isEmpty";

var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _class, _class2;

/**
 * notice - 公告管理-详情页面
 * @date: 2018-9-20

 */
import React from 'react';
import { connect } from 'dva';
import { Button, Cascader, Col, DatePicker, Form, Input, Row, Select, Spin } from 'antd';
import { Bind } from 'lodash-decorators';
import moment from 'moment';
import classnames from 'classnames';
import { Content, Header } from 'components/Page';
import UploadModal from 'components/Upload';
import notification from 'utils/notification';
import formatterCollections from 'utils/intl/formatterCollections';
import intl from 'utils/intl';
import { getCurrentOrganizationId, getDateTimeFormat, isTenantRoleLevel } from 'utils/utils';
import { DEFAULT_DATETIME_FORMAT, DETAIL_EDIT_FORM_CLASSNAME, EDIT_FORM_ROW_LAYOUT, FORM_COL_3_LAYOUT, ROW_LAST_CLASSNAME, ROW_WRITE_ONLY_CLASSNAME } from 'utils/constants';
import { BKT_MSG, CPAAS_FILE } from 'utils/config';
import StaticTextEditor from "./StaticTextEditor";
import styles from "./style.less?modules"; // import SystemNoticePublishDrawer from './SystemNoticePublishDrawer';

var FormItem = Form.Item;
var Option = Select.Option,
    OptGroup = Select.OptGroup;
var formItemLayout = {
  labelCol: {
    span: 8
  },
  wrapperCol: {
    span: 16
  }
};
var formItemLayout2 = {
  labelCol: {
    span: 3
  },
  wrapperCol: {
    span: 21
  }
};
var NoticeDetail = (_dec = connect(function (_ref) {
  var loading = _ref.loading,
      cmsgNotice = _ref.cmsgNotice;
  return {
    cmsgNotice: cmsgNotice,
    createNoticeLoading: loading.effects['cmsgNotice/createNotice'],
    updateNoticeLoading: loading.effects['cmsgNotice/updateNotice'],
    publicNoticeLoading: loading.effects['cmsgNotice/publicNotice'],
    queryNoticeLoading: loading.effects['cmsgNotice/queryNotice'],
    organizationId: getCurrentOrganizationId(),
    isTenantRole: isTenantRoleLevel()
  };
}), _dec2 = Form.create({
  fieldNameProp: null
}), _dec3 = formatterCollections({
  code: 'cmsg.notice'
}), _dec4 = Bind(), _dec5 = Bind(), _dec6 = Bind(), _dec7 = Bind(), _dec8 = Bind(), _dec9 = Bind(), _dec10 = Bind(), _dec(_class = _dec2(_class = _dec3(_class = (_class2 = /*#__PURE__*/function (_React$PureComponent) {
  _inherits(NoticeDetail, _React$PureComponent);

  var _super = _createSuper(NoticeDetail);

  function NoticeDetail(props) {
    var _this;

    _classCallCheck(this, NoticeDetail);

    _this = _super.call(this, props);
    _this.staticTextEditor = React.createRef();
    _this.state = {
      attachmentUuid: '',
      prevContent: ''
    };
    return _this;
  }

  _createClass(NoticeDetail, [{
    key: "componentDidMount",
    value: function componentDidMount() {
      var _this2 = this;

      var _this$props = this.props,
          dispatch = _this$props.dispatch,
          noticeId = _this$props.match.params.noticeId;
      dispatch({
        type: 'cmsgNotice/init'
      });

      if (noticeId !== 'create') {
        this.queryNoticeDetail({
          noticeId: noticeId
        }).then(function (res) {
          // if (res && res.attachmentUuid) {
          // 如果没有 attachmentUUID 就会去请求一个新的 UUID
          if (res) {
            _this2.handleUuid(res);

            _this2.setState({
              prevContent: res.noticeContent.noticeBody
            });

            if (res.attachmentUuid) {
              dispatch({
                type: 'cmsgNotice/queryFileList',
                payload: {
                  attachmentUUID: res.attachmentUuid,
                  bucketName: BKT_MSG,
                  directory: 'cmsg01'
                }
              });
            }
          }
        });
      } else {
        dispatch({
          type: 'cmsgNotice/updateState',
          payload: {
            noticeDetail: {
              noticeContent: {
                noticeBody: ''
              }
            }
          }
        });
        this.handleUuid();
      }
    } // static getDerivedStateFromProps(nextProps, prevState) {
    //   const {
    //     cmsgNotice: {
    //       noticeDetail: {
    //         noticeContent: { noticeBody },
    //       },
    //     },
    //   } = nextProps;
    //   if ((noticeBody || '') !== prevState.prevContent) {
    //     return {
    //       prevContent: noticeBody || '',
    //     };
    //   }
    //   return null;
    // }

    /**
     * @function fetchNoticeDetail - 查询公告详情
     * @param {object} params - 查询参数
     */

  }, {
    key: "queryNoticeDetail",
    value: function queryNoticeDetail() {
      var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var _this$props2 = this.props,
          dispatch = _this$props2.dispatch,
          organizationId = _this$props2.organizationId,
          noticeId = _this$props2.match.params.noticeId;
      return dispatch({
        type: 'cmsgNotice/queryNotice',
        payload: _objectSpread({
          organizationId: organizationId,
          noticeId: noticeId
        }, params)
      });
    }
    /**
     * 文件上传
     */

  }, {
    key: "uploadImage",
    value: function uploadImage(payload, file) {
      var dispatch = this.props.dispatch;
      return dispatch({
        type: 'cmsgNotice/uploadImage',
        payload: payload,
        file: file
      });
    }
    /**
     * 返回 Promise, 数据校验失败 reject(), 新建 resolve('create'), 保存 resolve('update');
     * @function handleCreateNotice - 保存公告信息
     */

  }, {
    key: "handleCreateNotice",
    value: function handleCreateNotice() {
      var _this3 = this;

      var _this$props3 = this.props,
          dispatch = _this$props3.dispatch,
          form = _this$props3.form,
          organizationId = _this$props3.organizationId,
          _this$props3$cmsgNoti = _this$props3.cmsgNotice.noticeDetail,
          noticeDetail = _this$props3$cmsgNoti === void 0 ? {} : _this$props3$cmsgNoti,
          history = _this$props3.history,
          noticeId = _this$props3.match.params.noticeId;
      var _noticeDetail$noticeC = noticeDetail.noticeContent,
          noticeContent = _noticeDetail$noticeC === void 0 ? {} : _noticeDetail$noticeC; // const { noticeBody = '' } = noticeContent;

      var params = {};
      var noticeBody = '';
      return new Promise(function (resolve, reject) {
        form.validateFields(function (err, fieldsValue) {
          if (_isEmpty(err)) {
            _this3.getEditData().then(function (data) {
              if (data.text !== undefined) {
                noticeBody = data.text;

                if (noticeDetail.noticeId) {
                  params = {
                    type: 'cmsgNotice/updateNotice',
                    payload: _objectSpread(_objectSpread(_objectSpread({}, noticeDetail), fieldsValue), {}, {
                      startDate: moment(fieldsValue.startDate).format(DEFAULT_DATETIME_FORMAT),
                      endDate: fieldsValue.endDate && moment(fieldsValue.endDate).format(DEFAULT_DATETIME_FORMAT) || '',
                      attachmentUuid: _this3.state.attachmentUuid,
                      receiverTypeCode: fieldsValue.receiverTypeCode[0],
                      noticeCategoryCode: fieldsValue.receiverTypeCode[1] || '',
                      noticeContent: _objectSpread(_objectSpread({}, noticeContent), {}, {
                        noticeBody: noticeBody
                      })
                    })
                  };
                } else {
                  params = {
                    type: 'cmsgNotice/createNotice',
                    payload: _objectSpread(_objectSpread({}, fieldsValue), {}, {
                      startDate: moment(fieldsValue.startDate).format(DEFAULT_DATETIME_FORMAT),
                      endDate: fieldsValue.endDate && moment(fieldsValue.endDate).format(DEFAULT_DATETIME_FORMAT) || '',
                      attachmentUuid: _this3.state.attachmentUuid,
                      receiverTypeCode: fieldsValue.receiverTypeCode[0],
                      noticeCategoryCode: fieldsValue.receiverTypeCode[1] || '',
                      tenantId: organizationId,
                      statusCode: 'DRAFT',
                      noticeContent: {
                        noticeBody: noticeBody
                      },
                      lang: ''
                    })
                  };
                }

                resolve(dispatch(params).then(function (res) {
                  if (res) {
                    notification.success();
                    dispatch({
                      type: 'cmsgNotice/updateState',
                      payload: {
                        noticeDetail: res
                      }
                    });

                    if (noticeId === 'create') {
                      history.push("/cmsg/notices/detail/".concat(res.noticeId));
                      return 'create';
                    } else {
                      return 'update';
                    }
                  }
                }));
              } else {
                return notification.warning({
                  message: intl.get('cmsg.notice.view.message.alert.noticeContentRequired').d('请输入公告内容')
                });
              }
            }); // if (!noticeBody) {
            // }

          } else {
            reject();
          }
        });
      }).then(function (type) {
        if (type === 'create') {
          var responseNoticeId = _this3.props.cmsgNotice.noticeDetail.noticeId;

          _this3.queryNoticeDetail({
            noticeId: responseNoticeId
          }).then(function (res) {
            if (res) {
              _this3.setState({
                prevContent: res.noticeContent.noticeBody
              });

              _this3.handleUuid(res);

              if (res.attachmentUuid) {
                dispatch({
                  type: 'cmsgNotice/queryFileList',
                  payload: {
                    attachmentUUID: res.attachmentUuid,
                    bucketName: BKT_MSG,
                    directory: 'cmsg01'
                  }
                });
              }
            }
          });
        }

        return type;
      });
    }
    /**
     * handleUuid - 获取uuid
     * @param {object} data - 报价模板头数据
     *  @param {string} data.attachmentUuid - 文件上传下载所需的uuid
     */

  }, {
    key: "handleUuid",
    value: function handleUuid() {
      var _this4 = this;

      var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var dispatch = this.props.dispatch;

      if (data.attachmentUuid) {
        this.setState({
          attachmentUuid: data.attachmentUuid
        });
      } else {
        dispatch({
          type: 'cmsgNotice/fetchUuid'
        }).then(function (res) {
          if (res) {
            _this4.setState({
              attachmentUuid: res.content
            });
          }
        });
      }
    }
    /**
     * changeFileList - 格式化已经上传的文件列表
     * @param {array} response 请求返回的文件列表
     * @returns 格式化后的文件列表
     */

  }, {
    key: "changeFileList",
    value: function changeFileList(response) {
      return response.map(function (res, index) {
        return {
          uid: index,
          name: res.fileName,
          status: 'done',
          url: res.fileUrl
        };
      });
    }
    /**
     * removeFile - 删除文件
     * @param {object} file - 删除的文件对象
     */

  }, {
    key: "removeFile",
    value: function removeFile(file) {
      var _this$props4 = this.props,
          dispatch = _this$props4.dispatch,
          noticeDetail = _this$props4.cmsgNotice.noticeDetail;
      dispatch({
        type: 'cmsgNotice/removeFile',
        payload: {
          bucketName: BKT_MSG,
          directory: 'cmsg01',
          attachmentUUID: this.state.attachmentUuid || noticeDetail.attachmentUuid,
          urls: [file.url]
        }
      }).then(function (res) {
        if (res) {
          notification.success();
        }
      });
    }
  }, {
    key: "getEditData",
    value: function getEditData() {
      var _this5 = this;

      if (!this.staticTextEditor) {
        return Promise.reject();
      }

      return new Promise(function (resolve, reject) {
        var form = _this5.props.form;
        form.validateFields(function (err, fieldsValue) {
          if (err) {
            reject();
          } else {
            var editor = (_this5.staticTextEditor.staticTextEditor || {}).current.editor;

            if (!editor || !editor.getData()) {
              return notification.warning({
                message: intl.get('cmsg.notice.view.message.alert.contentRequired').d('请输入静态文本内容')
              });
            }

            resolve(_objectSpread(_objectSpread({}, fieldsValue), {}, {
              text: editor.getData()
            }));
          }
        });
      });
    }
  }, {
    key: "renderForm",
    value: function renderForm() {
      var _this6 = this;

      var _this$props5 = this.props,
          form = _this$props5.form,
          _this$props5$cmsgNoti = _this$props5.cmsgNotice,
          _this$props5$cmsgNoti2 = _this$props5$cmsgNoti.noticeType,
          noticeType = _this$props5$cmsgNoti2 === void 0 ? [] : _this$props5$cmsgNoti2,
          _this$props5$cmsgNoti3 = _this$props5$cmsgNoti.noticeDetail,
          noticeDetail = _this$props5$cmsgNoti3 === void 0 ? {} : _this$props5$cmsgNoti3,
          _this$props5$cmsgNoti4 = _this$props5$cmsgNoti.noticeCascaderType,
          noticeCascaderType = _this$props5$cmsgNoti4 === void 0 ? [] : _this$props5$cmsgNoti4,
          _this$props5$queryNot = _this$props5.queryNoticeLoading,
          queryNoticeLoading = _this$props5$queryNot === void 0 ? false : _this$props5$queryNot,
          isTenantRole = _this$props5.isTenantRole,
          organizationId = _this$props5.organizationId,
          noticeId = _this$props5.match.params.noticeId;
      var _this$state = this.state,
          attachmentUuid = _this$state.attachmentUuid,
          prevContent = _this$state.prevContent;
      var title = noticeDetail.title,
          noticeTypeCode = noticeDetail.noticeTypeCode,
          noticeTypeMeaning = noticeDetail.noticeTypeMeaning,
          receiverTypeCode = noticeDetail.receiverTypeCode,
          receiverTypeMeaning = noticeDetail.receiverTypeMeaning,
          noticeCategoryCode = noticeDetail.noticeCategoryCode,
          noticeCategoryMeaning = noticeDetail.noticeCategoryMeaning,
          startDate = noticeDetail.startDate,
          endDate = noticeDetail.endDate;
      var getFieldDecorator = form.getFieldDecorator;
      return /*#__PURE__*/React.createElement(Form, {
        className: DETAIL_EDIT_FORM_CLASSNAME
      }, /*#__PURE__*/React.createElement(Row, Object.assign({}, EDIT_FORM_ROW_LAYOUT, {
        className: ROW_WRITE_ONLY_CLASSNAME
      }), /*#__PURE__*/React.createElement(Col, FORM_COL_3_LAYOUT, /*#__PURE__*/React.createElement(FormItem, Object.assign({
        label: intl.get('cmsg.notice.model.notice.title').d('公告标题')
      }, formItemLayout), getFieldDecorator('title', {
        initialValue: queryNoticeLoading ? undefined : title,
        rules: [{
          required: true,
          message: intl.get('cpaas.common.validation.notNull', {
            name: intl.get('cmsg.notice.model.notice.title').d('公告标题')
          })
        }, {
          max: 100,
          message: intl.get('cpaas.common.validation.max', {
            max: 100
          })
        }, {
          validator: function validator(rule, value, callback) {
            var emoji = new RegExp(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g);

            if (value && emoji.test(value)) {
              callback(new Error(intl.get('cmsg.notice.view.validation.titleNotContainEmoji').d('标题不能含有表情符号')));
            } else {
              callback();
            }
          }
        }]
      })( /*#__PURE__*/React.createElement(Input, null)))), /*#__PURE__*/React.createElement(Col, FORM_COL_3_LAYOUT, /*#__PURE__*/React.createElement(FormItem, Object.assign({
        label: intl.get('cmsg.notice.model.notice.receiverTypeMeaning').d('公告类型')
      }, formItemLayout), getFieldDecorator('noticeTypeCode', {
        initialValue: queryNoticeLoading ? undefined : noticeTypeCode,
        rules: [{
          required: true,
          message: intl.get('cpaas.common.validation.notNull', {
            name: intl.get('cmsg.notice.model.notice.receiverTypeMeaning').d('公告类型')
          })
        }]
      })(_isNil(noticeTypeCode) ? /*#__PURE__*/React.createElement(Select, null, noticeType.map(function (item) {
        return /*#__PURE__*/React.createElement(OptGroup, {
          label: item.meaning,
          key: item.value
        }, item.children && item.children.map(function (items) {
          return /*#__PURE__*/React.createElement(Option, {
            value: items.value,
            key: items.value
          }, items.meaning);
        }));
      })) : /*#__PURE__*/React.createElement(React.Fragment, null, noticeTypeMeaning))))), /*#__PURE__*/React.createElement(Row, Object.assign({}, EDIT_FORM_ROW_LAYOUT, {
        className: ROW_WRITE_ONLY_CLASSNAME
      }), /*#__PURE__*/React.createElement(Col, FORM_COL_3_LAYOUT, /*#__PURE__*/React.createElement(FormItem, Object.assign({
        label: intl.get('cmsg.notice.model.notice.receiverTypeCode').d('发布对象类别')
      }, formItemLayout), getFieldDecorator('receiverTypeCode', {
        // eslint-disable-next-line no-nested-ternary
        initialValue: queryNoticeLoading ? [] : receiverTypeCode ? [receiverTypeCode, noticeCategoryCode] : [],
        rules: [{
          type: 'array',
          required: true,
          message: intl.get('cpaas.common.validation.notNull', {
            name: intl.get('cmsg.notice.model.notice.receiverTypeCode').d('发布对象类别')
          })
        }]
      })(_isNil(receiverTypeCode) ? /*#__PURE__*/React.createElement(Cascader, {
        allowClear: false,
        options: noticeCascaderType,
        fieldNames: {
          label: 'meaning',
          value: 'value',
          children: 'children'
        },
        placeholder: "",
        expandTrigger: "hover"
      }) : /*#__PURE__*/React.createElement(React.Fragment, null, [receiverTypeMeaning, noticeCategoryMeaning].filter(Boolean).join(' > '))))), /*#__PURE__*/React.createElement(Col, FORM_COL_3_LAYOUT, /*#__PURE__*/React.createElement(FormItem, Object.assign({
        label: intl.get('cpaas.common.date.active.from').d('有效日期从')
      }, formItemLayout), getFieldDecorator('startDate', {
        initialValue: queryNoticeLoading ? undefined : startDate && moment(startDate, DEFAULT_DATETIME_FORMAT),
        rules: [{
          type: 'object',
          required: true,
          message: intl.get('cpaas.common.validation.notNull', {
            name: intl.get('cpaas.common.date.active.from').d('有效日期从')
          })
        }]
      })( /*#__PURE__*/React.createElement(DatePicker, {
        style: {
          width: '100%'
        },
        allowClear: false,
        placeholder: "",
        format: getDateTimeFormat(),
        showTime: {
          format: DEFAULT_DATETIME_FORMAT
        },
        disabledDate: function disabledDate(current) {
          if (form.getFieldValue('endDate')) {
            return moment(current).isAfter(form.getFieldValue('endDate'), 'day');
          } else {
            return moment(current).isBefore(moment(form.getFieldValue('endDate')), 'day');
          }
        }
      }))))), /*#__PURE__*/React.createElement(Row, Object.assign({}, EDIT_FORM_ROW_LAYOUT, {
        className: ROW_WRITE_ONLY_CLASSNAME
      }), /*#__PURE__*/React.createElement(Col, FORM_COL_3_LAYOUT, /*#__PURE__*/React.createElement(FormItem, Object.assign({
        label: intl.get('cpaas.common.date.active.to').d('有效日期至')
      }, formItemLayout), getFieldDecorator('endDate', {
        initialValue: queryNoticeLoading ? undefined : endDate && moment(endDate, DEFAULT_DATETIME_FORMAT)
      })( /*#__PURE__*/React.createElement(DatePicker, {
        style: {
          width: '100%'
        },
        placeholder: "",
        format: getDateTimeFormat(),
        disabledDate: function disabledDate(current) {
          return form.getFieldValue('startDate') && moment(current).isBefore(form.getFieldValue('startDate'), 'day');
        }
      }))))), queryNoticeLoading || /*#__PURE__*/React.createElement(Row, Object.assign({}, EDIT_FORM_ROW_LAYOUT, {
        className: ROW_WRITE_ONLY_CLASSNAME
      }), /*#__PURE__*/React.createElement(Col, FORM_COL_3_LAYOUT, /*#__PURE__*/React.createElement(FormItem, Object.assign({
        label: intl.get('cpaas.common.upload.text').d('上传附件')
      }, formItemLayout), /*#__PURE__*/React.createElement(UploadModal, {
        action: isTenantRole ? "".concat(CPAAS_FILE, "/v1/").concat(organizationId, "/files/attachment/multipart") : "".concat(CPAAS_FILE, "/v1/files/attachment/multipart"),
        attachmentUUID: attachmentUuid,
        bucketName: BKT_MSG,
        bucketDirectory: "cmsg01"
      })))), /*#__PURE__*/React.createElement(Row, Object.assign({}, EDIT_FORM_ROW_LAYOUT, {
        className: classnames(styles['row-item2'], ROW_LAST_CLASSNAME)
      }), /*#__PURE__*/React.createElement(Col, {
        style: {
          width: '83%'
        }
      }, /*#__PURE__*/React.createElement(FormItem, Object.assign({}, formItemLayout2, {
        label: intl.get('cmsg.notice.model.notice.noticeContent').d('公告内容')
      }), (noticeId === 'create' || prevContent) && /*#__PURE__*/React.createElement(StaticTextEditor, {
        key: noticeId === 'create' ? 'new' : noticeId,
        content: noticeId === 'create' ? undefined : prevContent,
        readOnly: false,
        onRef: function onRef(staticTextEditor) {
          _this6.staticTextEditor = staticTextEditor;
        }
      })))));
    }
  }, {
    key: "render",
    value: function render() {
      var _this$props6 = this.props,
          _this$props6$updateNo = _this$props6.updateNoticeLoading,
          updateNoticeLoading = _this$props6$updateNo === void 0 ? false : _this$props6$updateNo,
          _this$props6$createNo = _this$props6.createNoticeLoading,
          createNoticeLoading = _this$props6$createNo === void 0 ? false : _this$props6$createNo,
          _this$props6$publicNo = _this$props6.publicNoticeLoading,
          publicNoticeLoading = _this$props6$publicNo === void 0 ? false : _this$props6$publicNo,
          _this$props6$queryNot = _this$props6.queryNoticeLoading,
          queryNoticeLoading = _this$props6$queryNot === void 0 ? false : _this$props6$queryNot,
          noticeDetail = _this$props6.cmsgNotice.noticeDetail;
      return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Header, {
        title: intl.get('cmsg.notice.view.message.title.detail').d('公告明细'),
        backPath: "/cmsg/notices/list"
      }, /*#__PURE__*/React.createElement(Button, {
        icon: "save",
        type: "primary",
        loading: noticeDetail.noticeId ? updateNoticeLoading : createNoticeLoading,
        onClick: this.handleCreateNotice
      }, intl.get('cpaas.common.button.save').d('保存'))), /*#__PURE__*/React.createElement(Content, {
        className: styles['cmsg-notice']
      }, /*#__PURE__*/React.createElement(Spin, {
        spinning: queryNoticeLoading || publicNoticeLoading || updateNoticeLoading || createNoticeLoading
      }, this.renderForm())));
    }
  }]);

  return NoticeDetail;
}(React.PureComponent), (_applyDecoratedDescriptor(_class2.prototype, "uploadImage", [_dec4], Object.getOwnPropertyDescriptor(_class2.prototype, "uploadImage"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "handleCreateNotice", [_dec5], Object.getOwnPropertyDescriptor(_class2.prototype, "handleCreateNotice"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "handleUuid", [_dec6], Object.getOwnPropertyDescriptor(_class2.prototype, "handleUuid"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "changeFileList", [_dec7], Object.getOwnPropertyDescriptor(_class2.prototype, "changeFileList"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "removeFile", [_dec8], Object.getOwnPropertyDescriptor(_class2.prototype, "removeFile"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "getEditData", [_dec9], Object.getOwnPropertyDescriptor(_class2.prototype, "getEditData"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "renderForm", [_dec10], Object.getOwnPropertyDescriptor(_class2.prototype, "renderForm"), _class2.prototype)), _class2)) || _class) || _class) || _class);
export { NoticeDetail as default };